package com.wiscamp.ninechapters.panels.domain.repositories;

import com.wiscamp.ninechapters.panels.domain.entities.Menu;
import cube.ddd.common.query.PagedObjects;
import cube.ddd.common.query.PagedQuery;

import java.util.Collection;

public interface MenuRepository {

    Menu getMenu(long menuId);

    Menu getMenuByCode(long appId, String menuCode);

    Collection<Menu> getMenusByGroup(long appId, String menuGroup);

    Collection<Menu> getMenusByName(long appId, String menuName);

    Collection<Menu> getMenusByIds(Collection<Long> menuIds);

    PagedObjects<Menu> getMenusByQuery(PagedQuery query);

    Menu saveMenu(Menu menu);
}
